using System;
using System.Collections.Generic;

namespace AuthorizeNET {
	public class ResponseConfig : INameValueSerializable {

		private char delim_char;
		private char encap_char;
		private bool delimit_response;
		private bool relay_response;
		private short duplicate_window;

		public ResponseConfig(bool delimit_response, bool relay_response, short duplicate_window) {
			this.delim_char = '|';
			this.delimit_response = delimit_response;
			this.encap_char = default(char);
			this.relay_response = relay_response;
			this.duplicate_window = duplicate_window;
		}

		[KeyName("x_delim_char")]
		public char DelimiterChar {
			get { return (this.delim_char); }
		}

		[KeyName("x_delim_data")]
		public bool DelimitResponseData {
			get { return (this.delimit_response); }
			set { this.delimit_response = value; }
		}

		[KeyName("x_encap_char")]
		public char EncapsulationChar {
			get { return (this.encap_char); }
		}

		[KeyName("x_relay_response")]
		public bool RelayResponse {
			get { return (this.relay_response); }
			set { this.relay_response = value; }
		}

		[KeyName("x_duplicate_window")]
		public short DuplicateWindow {
			get { return (this.duplicate_window); }
			set { this.duplicate_window = value; }
		}
	}
}
